// 编写代码：V4.0.0
function animate(dom,option,callback){
    // 清除定时器
    clearInterval(dom.timer);
    // 绑定定时器
    dom.timer = setInterval(function(){
        // 定义布尔值 
        var isStop = true;
        // 循环option对象
        for(var prop in option){
            // 获取属性名称的目标值
            var _targetVal = parseInt(option[prop]);
            // 获取dom属性名称的当前值
            var _cur = parseInt(getComputedStyle(dom)[prop]);
            // 计算步长
            var speed = (_targetVal - _cur) / 10;
            // 处理小数点
            speed = speed > 0 ?  Math.ceil(speed) : Math.floor(speed);
            // console.log(speed);
            // 判断当前值是否等于目标值 
            if(_cur != _targetVal){
                // 赋值为false的意义是 防止提前停止定时器
                isStop = false;
            }
            // 设置dom的样式
            dom.style[prop] = _cur + speed +"px";
        }

        // 循环结束之后 如果布尔值是true,那就说明全部属性都达到目标属性值
        if(isStop){
            // 停止定时器
            clearInterval(dom.timer);
            // 执行回调函数
            if(typeof callback == "function"){
                // 调用回调函数
                callback()
            }
        }
    },30)
}